Peer to Peer architecture (P2P) for communicating between a large number of data communication devices in a network is widely used. In P2P, each data communication device directly communicates with other data communication devices without being distinguished as either a server device or a client device; and each data communication device receives data stored in other data communication devices and transmits data stored in the data communication device to other data communication devices. As a result, data is distributed from a data communication device as a distribution source to a data communication device as a distribution destination via plural data communication devices.
For example, patent documents 1-3 disclose data distribution techniques using P2P. Patent document 1 discloses a method where a device receives information on transmission performance of receiving devices from each receiving device, classifies the receiving devices into classes based on bandwidth available to each receiving device estimated based on the information on transmission performance, and arranges the receiving devices in a descending order of the estimated bandwidth available in each class to determine a unicast path via which to distribute data from a specific distribution source to a specific distribution destination. In patent document 1, it is described that the device may receive the information on transmission performance of receiving devices and may update the determined unicast path at predetermined intervals.    [Patent document 1] JP Patent Publication No. 4598073
For example, it is assumed that a same data set (referred to as a distribution target data set hereinafter) is required to be transmitted from a head office to each of its branch offices. If a distribution server device is installed at the head office as a distribution source and the distribution server device distributes the distribution target data set to terminal devices installed at the branch offices, the transmission requirement is achieved. However, when there is a large number of branch offices, data transmission ability of the distribution server device may be reduced due to a bottleneck and it may take a long time to complete the distribution of the distribution target data set to all of the terminal devices at the branch offices.
To alleviate the above-mentioned problem, installation of a system that comprises a load distribution server device and plural distribution server devices has been considered. According to this system, the load distribution server device assigns terminal devices to distribution server devices, and each distribution server device distributes the distribution target data set to the assigned terminal devices in parallel. This system requires installation and maintenance of plural server devices, and is costly.